858d2a3f757fea2b88ffcb907e0f221699e32420,modules/yarn/src/main/java/org/apache/ignite/yarn/ApplicationMaster.java,ApplicationMaster,onContainersAllocated,#List#,81

Before Change



                nmClient.startContainer(container, ctx);

                containers.put(container.getNodeId().getHost(),
                    new IgniteContainer(container.getNodeId().getHost(), container.getResource().getVirtualCores(),
                        container.getResource().getMemory()));
            }
            catch (Exception ex) {
                System.err.println("[AM] Error launching container " + container.getId() + " " + ex);

After Change


    /** {@inheritDoc} */
    public synchronized void onContainersAllocated(List<Container> conts) {
        for (Container c : conts) {
            if (checkContainer(c)) {
                try {
                    ContainerLaunchContext ctx = Records.newRecord(ContainerLaunchContext.class);

                    Map<String, String> env = new HashMap<>(System.getenv());

                    //env.put("IGNITE_TCP_DISCOVERY_ADDRESSES", getAddress(c.getNodeId().getHost()));

                    ctx.setEnvironment(env);

                    Map<String, LocalResource> resources = new HashMap<>();

                    resources.put("ignite", IgniteYarnUtils.setupFile(ignitePath, fs, LocalResourceType.ARCHIVE));
                    resources.put("ignite-config.xml", IgniteYarnUtils.setupFile(cfgPath, fs, LocalResourceType.FILE));

                    ctx.setLocalResources(resources);

                    ctx.setCommands(
                        Collections.singletonList(
                            "./ignite/*/bin/ignite.sh "
                            + "./ignite-config.xml"
                            + " -J-Xmx" + c.getResource().getMemory() + "m"
                            + " -J-Xms" + c.getResource().getMemory() + "m"
                            + IgniteYarnUtils.YARN_LOG_OUT
                        ));

                    log.log(Level.INFO, "Launching container: {0}.", c.getId());

                    nmClient.startContainer(c, ctx);

                    containers.put(c.getId(),
                        new IgniteContainer(
                            c.getId(),
                            c.getNodeId(),
                            c.getResource().getVirtualCores(),
                            c.getResource().getMemory()));